﻿using System;
using System.Collections.Generic;
using System.Text;

namespace RaisingStudio.Data.SharePoint.Entities
{
    public partial class _SampleCustomList : RaisingStudio.Data.Expressions.TableExpression, RaisingStudio.Data.Expressions.IQueryExpression<_SampleCustomList>
    {
        #region Constructor (s) / Destructor
        /// <summary>
        /// Constructor (s) / Destructor.
        /// </summary>
        public _SampleCustomList() : base("SampleCustomList")
        {
        }
        #endregion
        #region Members
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _ContentTypeId = "ContentTypeId";
        public RaisingStudio.Data.Expressions.ColumnExpression ContentTypeId { get { return _ContentTypeId; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Title = "Title";
        public RaisingStudio.Data.Expressions.ColumnExpression Title { get { return _Title; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __ModerationComments = "_ModerationComments";
        public RaisingStudio.Data.Expressions.ColumnExpression _ModerationComments { get { return __ModerationComments; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _File_X0020_Type = "File_X0020_Type";
        public RaisingStudio.Data.Expressions.ColumnExpression File_X0020_Type { get { return _File_X0020_Type; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _SingleLineOfText = "SingleLineOfText";
        public RaisingStudio.Data.Expressions.ColumnExpression SingleLineOfText { get { return _SingleLineOfText; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _MultipleLinesOfText = "MultipleLinesOfText";
        public RaisingStudio.Data.Expressions.ColumnExpression MultipleLinesOfText { get { return _MultipleLinesOfText; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Choice = "Choice";
        public RaisingStudio.Data.Expressions.ColumnExpression Choice { get { return _Choice; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Number = "Number";
        public RaisingStudio.Data.Expressions.ColumnExpression Number { get { return _Number; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Currency = "Currency";
        public RaisingStudio.Data.Expressions.ColumnExpression Currency { get { return _Currency; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _DateAndTime = "DateAndTime";
        public RaisingStudio.Data.Expressions.ColumnExpression DateAndTime { get { return _DateAndTime; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Lookup = "Lookup";
        public RaisingStudio.Data.Expressions.ColumnExpression Lookup { get { return _Lookup; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _YesNo = "YesNo";
        public RaisingStudio.Data.Expressions.ColumnExpression YesNo { get { return _YesNo; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _PersonOrGroup = "PersonOrGroup";
        public RaisingStudio.Data.Expressions.ColumnExpression PersonOrGroup { get { return _PersonOrGroup; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _HyperlinkOrPicture = "HyperlinkOrPicture";
        public RaisingStudio.Data.Expressions.ColumnExpression HyperlinkOrPicture { get { return _HyperlinkOrPicture; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _ID = "ID";
        public RaisingStudio.Data.Expressions.ColumnExpression ID { get { return _ID; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _ContentType = "ContentType";
        public RaisingStudio.Data.Expressions.ColumnExpression ContentType { get { return _ContentType; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Modified = "Modified";
        public RaisingStudio.Data.Expressions.ColumnExpression Modified { get { return _Modified; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Created = "Created";
        public RaisingStudio.Data.Expressions.ColumnExpression Created { get { return _Created; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Author = "Author";
        public RaisingStudio.Data.Expressions.ColumnExpression Author { get { return _Author; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Editor = "Editor";
        public RaisingStudio.Data.Expressions.ColumnExpression Editor { get { return _Editor; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __HasCopyDestinations = "_HasCopyDestinations";
        public RaisingStudio.Data.Expressions.ColumnExpression _HasCopyDestinations { get { return __HasCopyDestinations; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __CopySource = "_CopySource";
        public RaisingStudio.Data.Expressions.ColumnExpression _CopySource { get { return __CopySource; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Owshiddenversion = "Owshiddenversion";
        public RaisingStudio.Data.Expressions.ColumnExpression Owshiddenversion { get { return _Owshiddenversion; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _WorkflowVersion = "WorkflowVersion";
        public RaisingStudio.Data.Expressions.ColumnExpression WorkflowVersion { get { return _WorkflowVersion; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __UIVersion = "_UIVersion";
        public RaisingStudio.Data.Expressions.ColumnExpression _UIVersion { get { return __UIVersion; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __UIVersionString = "_UIVersionString";
        public RaisingStudio.Data.Expressions.ColumnExpression _UIVersionString { get { return __UIVersionString; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Attachments = "Attachments";
        public RaisingStudio.Data.Expressions.ColumnExpression Attachments { get { return _Attachments; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __ModerationStatus = "_ModerationStatus";
        public RaisingStudio.Data.Expressions.ColumnExpression _ModerationStatus { get { return __ModerationStatus; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Edit = "Edit";
        public RaisingStudio.Data.Expressions.ColumnExpression Edit { get { return _Edit; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _LinkTitleNoMenu = "LinkTitleNoMenu";
        public RaisingStudio.Data.Expressions.ColumnExpression LinkTitleNoMenu { get { return _LinkTitleNoMenu; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _LinkTitle = "LinkTitle";
        public RaisingStudio.Data.Expressions.ColumnExpression LinkTitle { get { return _LinkTitle; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _SelectTitle = "SelectTitle";
        public RaisingStudio.Data.Expressions.ColumnExpression SelectTitle { get { return _SelectTitle; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _InstanceID = "InstanceID";
        public RaisingStudio.Data.Expressions.ColumnExpression InstanceID { get { return _InstanceID; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Order = "Order";
        public RaisingStudio.Data.Expressions.ColumnExpression Order { get { return _Order; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Guid = "Guid";
        public RaisingStudio.Data.Expressions.ColumnExpression Guid { get { return _Guid; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _WorkflowInstanceID = "WorkflowInstanceID";
        public RaisingStudio.Data.Expressions.ColumnExpression WorkflowInstanceID { get { return _WorkflowInstanceID; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _FileRef = "FileRef";
        public RaisingStudio.Data.Expressions.ColumnExpression FileRef { get { return _FileRef; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _FileDirRef = "FileDirRef";
        public RaisingStudio.Data.Expressions.ColumnExpression FileDirRef { get { return _FileDirRef; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Last_X0020_Modified = "Last_X0020_Modified";
        public RaisingStudio.Data.Expressions.ColumnExpression Last_X0020_Modified { get { return _Last_X0020_Modified; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Created_X0020_Date = "Created_X0020_Date";
        public RaisingStudio.Data.Expressions.ColumnExpression Created_X0020_Date { get { return _Created_X0020_Date; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _FSObjType = "FSObjType";
        public RaisingStudio.Data.Expressions.ColumnExpression FSObjType { get { return _FSObjType; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _PermMask = "PermMask";
        public RaisingStudio.Data.Expressions.ColumnExpression PermMask { get { return _PermMask; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _FileLeafRef = "FileLeafRef";
        public RaisingStudio.Data.Expressions.ColumnExpression FileLeafRef { get { return _FileLeafRef; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _UniqueId = "UniqueId";
        public RaisingStudio.Data.Expressions.ColumnExpression UniqueId { get { return _UniqueId; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _ProgId = "ProgId";
        public RaisingStudio.Data.Expressions.ColumnExpression ProgId { get { return _ProgId; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _ScopeId = "ScopeId";
        public RaisingStudio.Data.Expressions.ColumnExpression ScopeId { get { return _ScopeId; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _HTML_X0020_File_X0020_Type = "HTML_X0020_File_X0020_Type";
        public RaisingStudio.Data.Expressions.ColumnExpression HTML_X0020_File_X0020_Type { get { return _HTML_X0020_File_X0020_Type; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __EditMenuTableStart = "_EditMenuTableStart";
        public RaisingStudio.Data.Expressions.ColumnExpression _EditMenuTableStart { get { return __EditMenuTableStart; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __EditMenuTableEnd = "_EditMenuTableEnd";
        public RaisingStudio.Data.Expressions.ColumnExpression _EditMenuTableEnd { get { return __EditMenuTableEnd; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _LinkFilenameNoMenu = "LinkFilenameNoMenu";
        public RaisingStudio.Data.Expressions.ColumnExpression LinkFilenameNoMenu { get { return _LinkFilenameNoMenu; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _LinkFilename = "LinkFilename";
        public RaisingStudio.Data.Expressions.ColumnExpression LinkFilename { get { return _LinkFilename; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _DocIcon = "DocIcon";
        public RaisingStudio.Data.Expressions.ColumnExpression DocIcon { get { return _DocIcon; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _ServerUrl = "ServerUrl";
        public RaisingStudio.Data.Expressions.ColumnExpression ServerUrl { get { return _ServerUrl; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _EncodedAbsUrl = "EncodedAbsUrl";
        public RaisingStudio.Data.Expressions.ColumnExpression EncodedAbsUrl { get { return _EncodedAbsUrl; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _BaseName = "BaseName";
        public RaisingStudio.Data.Expressions.ColumnExpression BaseName { get { return _BaseName; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _MetaInfo = "MetaInfo";
        public RaisingStudio.Data.Expressions.ColumnExpression MetaInfo { get { return _MetaInfo; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __Level = "_Level";
        public RaisingStudio.Data.Expressions.ColumnExpression _Level { get { return __Level; } }
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression __IsCurrentVersion = "_IsCurrentVersion";
        public RaisingStudio.Data.Expressions.ColumnExpression _IsCurrentVersion { get { return __IsCurrentVersion; } }

		#endregion

        public static implicit operator RaisingStudio.Data.Expressions.ConditionExpression(_SampleCustomList SampleCustomList)
        {
            return new RaisingStudio.Data.Expressions.ConditionExpression();
        }

        public RaisingStudio.Data.Expressions.ConditionExpression OrderBy(RaisingStudio.Data.Expressions.ColumnExpression columnExpression)
        {
             RaisingStudio.Data.Expressions.ConditionExpression conditionExpression = this;
             return conditionExpression.OrderBy(columnExpression);
        }

        public RaisingStudio.Data.Expressions.ConditionExpression OrderBy(RaisingStudio.Data.Expressions.ColumnExpression columnExpression, RaisingStudio.Data.Expressions.SortingDirection sortingDirection)
        {
            RaisingStudio.Data.Expressions.ConditionExpression conditionExpression = this;
            return conditionExpression.OrderBy(columnExpression, sortingDirection);
        }

        public RaisingStudio.Data.Expressions.ConditionExpression Where(RaisingStudio.Data.Expressions.ExpressionElement expressionElement)
        {
            RaisingStudio.Data.Expressions.ConditionExpression conditionExpression = this;
            return conditionExpression.Where(expressionElement);
        }

        public static implicit operator RaisingStudio.Data.Expressions.ColumnExpressionCollection(_SampleCustomList SampleCustomList)
        {
            return new RaisingStudio.Data.Expressions.ColumnExpressionCollection(SampleCustomList);
        }

        public static implicit operator RaisingStudio.Data.Expressions.ColumnExpression[](_SampleCustomList SampleCustomList)
        {
            return new RaisingStudio.Data.Expressions.ColumnExpression[]
                        {                            
                            SampleCustomList.ContentTypeId,
                            SampleCustomList.Title,
                            SampleCustomList._ModerationComments,
                            SampleCustomList.File_X0020_Type,
                            SampleCustomList.SingleLineOfText,
                            SampleCustomList.MultipleLinesOfText,
                            SampleCustomList.Choice,
                            SampleCustomList.Number,
                            SampleCustomList.Currency,
                            SampleCustomList.DateAndTime,
                            SampleCustomList.Lookup,
                            SampleCustomList.YesNo,
                            SampleCustomList.PersonOrGroup,
                            SampleCustomList.HyperlinkOrPicture,
                            SampleCustomList.ID,
                            SampleCustomList.ContentType,
                            SampleCustomList.Modified,
                            SampleCustomList.Created,
                            SampleCustomList.Author,
                            SampleCustomList.Editor,
                            SampleCustomList._HasCopyDestinations,
                            SampleCustomList._CopySource,
                            SampleCustomList.Owshiddenversion,
                            SampleCustomList.WorkflowVersion,
                            SampleCustomList._UIVersion,
                            SampleCustomList._UIVersionString,
                            SampleCustomList.Attachments,
                            SampleCustomList._ModerationStatus,
                            SampleCustomList.Edit,
                            SampleCustomList.LinkTitleNoMenu,
                            SampleCustomList.LinkTitle,
                            SampleCustomList.SelectTitle,
                            SampleCustomList.InstanceID,
                            SampleCustomList.Order,
                            SampleCustomList.Guid,
                            SampleCustomList.WorkflowInstanceID,
                            SampleCustomList.FileRef,
                            SampleCustomList.FileDirRef,
                            SampleCustomList.Last_X0020_Modified,
                            SampleCustomList.Created_X0020_Date,
                            SampleCustomList.FSObjType,
                            SampleCustomList.PermMask,
                            SampleCustomList.FileLeafRef,
                            SampleCustomList.UniqueId,
                            SampleCustomList.ProgId,
                            SampleCustomList.ScopeId,
                            SampleCustomList.HTML_X0020_File_X0020_Type,
                            SampleCustomList._EditMenuTableStart,
                            SampleCustomList._EditMenuTableEnd,
                            SampleCustomList.LinkFilenameNoMenu,
                            SampleCustomList.LinkFilename,
                            SampleCustomList.DocIcon,
                            SampleCustomList.ServerUrl,
                            SampleCustomList.EncodedAbsUrl,
                            SampleCustomList.BaseName,
                            SampleCustomList.MetaInfo,
                            SampleCustomList._Level,
                            SampleCustomList._IsCurrentVersion,
                        };
        }

        public RaisingStudio.Data.Expressions.ColumnExpressionCollection Except(params RaisingStudio.Data.Expressions.ColumnExpression[] columns)
        {
            RaisingStudio.Data.Expressions.ColumnExpressionCollection columnExpressionCollection = this;
            return columnExpressionCollection.Except(columns);
        }

    
        public static implicit operator RaisingStudio.Data.Expressions.QueryExpression<_SampleCustomList>(_SampleCustomList SampleCustomList)
        {
            return new RaisingStudio.Data.Expressions.QueryExpression<_SampleCustomList>(SampleCustomList);
        }


        #region IQueryExpression<_SampleCustomList> 成员

        _SampleCustomList RaisingStudio.Data.Expressions.IQueryExpression<_SampleCustomList>.Value
        {
            get { return SampleCustomList._; }
        }

        #endregion

        #region IQueryExpression 成员

        RaisingStudio.Data.Expressions.TableExpression RaisingStudio.Data.Expressions.IQueryExpression.Table
        {
            get { return this; }
        }

        RaisingStudio.Data.Expressions.ConditionExpression RaisingStudio.Data.Expressions.IQueryExpression.Condition
        {
            get { return this; }
        }

        RaisingStudio.Data.Expressions.ColumnExpressionCollection RaisingStudio.Data.Expressions.IQueryExpression.Columns
        {
            get { return null; }
        }

        #endregion
    }

    partial class SampleCustomList
    {
        #region Members
        public static readonly _SampleCustomList _ = new _SampleCustomList();
		#endregion
    }
}
